Frequently Asked Questions
The following FAQs may answer additional questions you might have about CygNet and ESE.
Do ESE-based datastores have size limitations?
An ESE-based datastore can be used in an application that never has more than 1 megabyte (MB) of data; conversely, it can contain up to 2^32 pages of 4 KB sized pages or 16 TB of data. Be aware that this doesn’t mean that CygNet supports databases up to 16 TB; it just means that ESE is capable of databases of this size. Other factors to consider with database size include hard disk capacity, backup, restoration, defragmentation, and other database maintenance operations.
How does this change affect replication?
It does not affect replication. In fact, you can replicate from a non-ESE-based datastore to an ESE-based datastore or vice-versa. See Replication for more information.
Can I use an older version client with an ESE-based datastore?
Yes.
How does a shut down get flagged as dirty (abnormal)?
When a database is shut down before it has performed required maintenance, it is put into an inconsistent state. This kind of shutdown is flagged as a dirty shutdown. This term means that some transaction log files must be replayed before the database can be considered consistent. You cannot mount a database that was shut down in this state until the transaction logs have been replayed and the database has correctly detached from the current log stream.
ESE caches the disk by swapping 8 KB pages of data in and out of memory. It updates the pages in memory and then writes updated pages back to the disk. A page that has been written with data and is still being held in memory is called a dirty page. When there is a dirty page in memory, the database is flagged as being in an inconsistent state. A database is only in a consistent state when pages are successfully transferred to disk during a shutdown in which no errors occur.
ESE has rollback. What does that mean?
Rollback is specific to the atomic nature of a transaction. When the service restarts after an abnormal shutdown, any transactions that are uncommitted are rolled back (removed) from the database. (A "version store" tracks and manages transactions.)

